The statements in this section merely provide background information related to the present disclosure and may not constitute prior art.
Multimedia Message Service (MMS) is the further development of Short Message Service (SMS) and graphics information transfer, which ensures that the full-function contents and information including graphics, audio information, video information, data and text may be transferred. The MMS may transfer the multimedia information on time from end to end of the mobile phone, and also between mobile phones and the internet. Multimedia Message Service Center (MMSC) is the network element that serves to deliver multimedia messages on networks.
In the process of multimedia message transfer, the MMSC activates the delivery flow when the MMSC receives a multimedia message sent by the MMS terminal, Value Added Service Provider (VASP) or mail server. The issue flow includes two phases: PUSH notification process and message retrieval process. The PUSH notification process of the MMS mainly refers to that the MMSC has the PUSH notification carried in one or plural short message(s) and transfers the notification to the receiving terminal, with the associated information of the multimedia message carried in the PUSH notification: the addressing information required by the receiving terminal for retrieving the multimedia message, deliverer ID, the subject of the multimedia message, and the addressing information of the receiving terminal, of which, the addressing information carries the MMSC address and the sole ID of the multimedia message in the MMSC. The receiving terminal activates the message retrieval process when the receiving terminal receives the short messages and combines them into the PUSH notification, i.e., the receiving terminal initiates a message retrieval request to the MMSC that saves the multimedia messages according to the addressing information carried in the PUSH notification, and retrieves the multimedia messages.
In the international standard specifications, the PUSH notification message includes:
TID: transaction identification, whose length is 1 byte;
Type: signifying message type; the Type signifies that the message is a PUSH notification when the value is 0x06, and length of the Type is 1 byte;
HeaderLen: signifying the length of the message header; the HeaderLen adopts unitary codes, whose length is 1 byte;
ContentType: signifying message body type; in the case of the PUSH notification of MMS, there are two expressing ways: one way is character string application/vnd.wap.mms-message that takes up 32 bytes, and the other way is expressed with binary codes 0x3E that takes up 1 byte, preferably the ContentType adopts the expressing way of character string in most cases.
Headers: signifying the contents of the message header; length of the Header is equal to the difference between the value of the HeaderLen field and the length of the ContentType field;
X-Mms-Message-Type: signifying MMS protocol data unit type; The value of the PUSH notification message is 130, whose length is 1 byte;
X-Mms-Transaction-ID: the internal ID assigned by the MMSC to ensure that the receiving party is able to retrieve the multimedia message correctly; whose length and coding rule are assigned and identified by the MMSC, and the length is variable;
X-Mms-MMS-Version: signifying the version of MMS, whose length is 2 bytes;
From: signifying the initiator of a multimedia message, whose minimum length is 4 bytes;
Subject: signifying the subject of the multimedia message; After the multimedia message is coded by UTF-8, the minimum length of Subject is 6 bytes when the length of the multimedia message is greater than or equal to 31 bytes, otherwise the minimum length of the Subject is 5 bytes;
X-Mms-Message-Class: signifying the class of the multimedia message; For instance, if the multimedia message belongs to individual, advertisement or class of information; the length of the X-Mms-Message-Class is 2 byte;
X-Mms-Message-Size: signifying the length of the multimedia message, whose length is 5 or 6 bytes after adopting long integer codes;
X-Mms-Expiry: signifying the valid term of a multimedia message, whose length is 7 or 8 bytes;
X-Mms-Content-Location: signifying the address of Unitary Resource Identification (URI) for a multimedia message, at least including the address of MMSC and the transaction ID of the multimedia message, of which, the address of MMSC may be an IP address and a port number, or a domain name whose length is variable, and also the length of this part is variable.
The PUSH notification processed with the above format is sent to the receiving party by the multimedia message initiating party via plural intermediate links. And the PUSH notification includes the message retrieval process before the accomplishment of delivering a multimedia message. The delivery processes of a multimedia message are similar in GSM, GPRS, WCDMA, CDMA95, CDMA2000 and other networks, therefore, the delivery process of a multimedia message in GSM is taken as the example for a description of the technical solution.
The PUSH notification of multimedia message may be delivered via Wireless Application Gateway (WAPGW) or by MMSC directly.
FIG. 1 illustrates the process that the initiating party such as an MMS terminal, a VASP or a mail server sends a multimedia message adopting the PUSH notification of the existing format to the receiving party via WAPGW, including:
Steps 11˜12: The initiating party of the multimedia message submits the multimedia message to be delivered to the MMSC, Having received the multimedia message, the MMSC activates the PUSH notification flow to issue the PUSH notification to the receiving MMS terminal.
The specific process to issue the PUSH notification includes:
Step 1201: The MMSC sends to the WAPGW a push_message carrying the PUSH notification, and records the times to execute this step.
Step 1202: The WAPGW returns a push-response to the MMSC after the WAPGW receives the push-message.
Step 1203: The WAPGW adopts the interface protocol between the WAPGW and the short message system to pack up the PUSH notification in the push-message into a short message, sends a submit message submit_sm to the short message system, and records the times to execute this step.
The short message system herein includes Short Message Service Center (SMSC) and short message gateway. The interface protocol between the WAPGW and the short message system may be Short Message Peer to Peer Protocol (SMPP), Universal Computer Protocol (UCP), Computer Interface Message Delivery Protocol (CIMD) or other protocols of the same type.
Step 1204: The short message system returns a response message submit_sm_resp to the WAPGW after the short message system receives the submit_sm.
Thereafter, the short message system issues a short message to the receiving party MSC/MMS terminal.
Step 1205: The short message system determines the address of the receiving MMS terminal's Home Location Register (HLR) according to the address information of the receiving party carried in the PUSH notification of submit_sm, sends a router request message map_sri_for_sm_req to the HLR, and records the number of times to execute this step.
Step 1206: Having received the map_sri_for_sm_req, The HLR returns to the short message system a router response message map_sri_for_sm_resp carrying the address of the Mobile Switch Center (MSC) in which the receiving party is currently located.
Steps 1207˜1208: The short message system sends by short message to the receiving party a request message map_mt_fwd_sm_req to issue a short message carrying the PUSH notification according to the router information carried in the response message map_sri_for_sm_resp, and the receiving party returns to the short message system a map_mt_fwd_sm_resp, indicating whether the PUSH notification has been issued successfully. Thereafter, the receiving party determines whether the SMSC has received in a preset time the map_mt_fwd_sm_resp carrying the information indicating the PUSH notification has been successfully issued; if yes, carries out Step 1209; otherwise, the short message system selects whether to reissue the notification and the reissuing time according to the internal reissue strategy; the short message system determines whether the times Step 1205 executed has exceeded the preset value when the short message system is about to reissue the notification, and if the times Step 1205 executed has exceeded the preset times, the short message system determines that the issue of the PUSH notification failed and carries out Step 1209; if the times Step 1205 executed has not exceeded the preset times, the short message system adopts the reissue strategy and returns to Step 1205.
Up to now, the flow that the short message system issues a short message to the MSC/MMS terminal of the receiving party is accomplished.
Steps 1209˜1210: The short message system sends to the WAPGW a deliver_sm, indicating whether the PUSH notification has been issued successfully. Having received the deliver_sm, the WAPGW returns to the short message system a delivery report response deliver_sm_resp, and determines whether the PUSH notification has been issued successfully according to the deliver_sm; if yes, proceed to Step 1211; otherwise, the WAPGW determines whether to reissue the notification according to the internal reissue strategy; the WAPGW determines whether the times Step 1203 executed has exceeded the preset value when the WAPGW is about to reissue the notification, and if the times Step 1203 executed has exceeded the preset times, the WAPGW determines that the issue of the PUSH notification failed and carries out Step 1211; if the times Step 1203 executed has not exceeded the preset times, the WAPGW adopts the reissue strategy and returns to Step 1203.
Steps 1211˜1212: The WAPGW sends to the MMSC a result notification message resultnotification-message, indicating whether the PUSH notification has been issued successfully. The MMSC returns to the WAPGW a response message resultnotification-response after the MMSC receives the result notification message, and determines whether the PUSH notification has been issued successfully according to the received message; if yes, the MMSC terminates the flow of the PUSH notification; otherwise, the MMSC selects whether to reissue the notification and the reissuing time according to the internal reissue strategy; the MMSC determines whether the times Step 1201 executed has exceeded the preset value when the MMSC is about to reissue the notification, and if the times Step 1201 executed has exceeded the preset times, the MMSC determines that the issue of the PUSH notification failed, terminates the delivery flow of the PUSH notification, and carries out Step 17; if the times Step 1201 executed has not exceeded the preset times, the MMSC adopts the reissue strategy and returns to Step 1201.
Up to now, the flow of the PUSH notification has been completed.
Steps 13˜16: The MMSC interacts with the receiving MSC/MMS terminal to retrieve the message.
Step 17: The MMSC sends to the initiating party a multimedia message delivery status report, indicating whether the receiving party has successfully received the multimedia message.
When the issue of the PUSH notification has been completed, the initiating party and the receiving party retrieve the multimedia message according to the message retrieval flow from Step 13 to Step 17 to accomplish the delivery of the multimedia message.
The foregoing is the flow to issue a multimedia message via the WAPGW, and the following is the flow to issue a multimedia message directly by the MMSC.
FIG. 2 illustrates the process to issue a multimedia message adopting the PUSH notification of the existing format directly by the MMSC to the receiving party, including:
Steps 21˜22: The initiating party of the multimedia message submits the multimedia message to the MMSC, Having received the multimedia message, the MMSC activates the PUSH notification process and issue the PUSH notification to the receiving party.
The PUSH notification process herein includes:
Step 2201: The MMSC adopts the interface protocol that is able to communicate with the short message system to pack up the PUSH notification into short message, sends by the interface protocol to the short message system a submit message submit_sm carrying the PUSH notification, and records the number of times to execute this step.
Step 2202: The short message system returns to the MMSC a response message submit_sm_resp upon receiving the submit_sm.
Thereafter, the short message system issues a short message to the receiving party.
Step 2203: The short message system determines the address of the receiving party's HLR according to the address information of the receiving party carried in the PUSH notification in submit_sm, sends a router request message map_sri_for_sm_req to the HLR, and records the number of times to execute this step.
Step 2204: Having received the map_sri_for_sm_req, the HLR returns to the short message system a router response message map_sri_for_sm_resp, indicating the address of the MSC in which the receiving party is currently located.
Steps 2205˜2206: The short message system sends by short message to the receiving party a request message map_mt_fwd_sm_req to issue a short message carrying the PUSH notification according to the router information carried in the response message map_sri_for_sm_resp, and the receiving party returns to the short message system a map_mt_fwd_sm_resp, indicating whether the PUSH notification has been issued successfully. Thereafter, the short message system determines in a preset time whether the short message system has received the map_mt_fwd_sm_resp carrying the information indicating the PUSH notification has been issued successfully; if yes, proceed to Step 2207; otherwise, the short message system selects whether to reissue the notification and the reissuing time according to the internal reissue strategy; the short message system determines whether the times Step 2203 executed has exceeded the preset value when the short message system is about to reissue the notification, and if the times Step 2203 executed has exceeded the preset times, the short message system determines that the issue of the PUSH notification has failed and carries out the next step; if the times Step 2203 executed has not exceeded the preset times, the short message system adopts reissue strategy and returns to Step 2203.
Up to now, the flow that the short message system issues the short message to the receiving party is accomplished.
Steps 2207˜2208: The short message system sends to the MMSC a delivery report message deliver_sm, indicating whether the PUSH notification has been issued successfully. Having received the deliver_sm, the MMSC returns to the short message system a delivery report response deliver_sm_resp, and determines whether the PUSH notification has been issued successfully according to the delivery report message; If yes, terminates the PUSH notification flow; Otherwise, the MMSC selects whether to reissue the notification and the reissuing time according to the internal reissue strategy; determining whether the times Step 2201 executed has exceeded the preset value when the MMSC is to reissue the notification, and if the times Step 2201 executed has exceeded the preset times, the MMSC determines that the issue of the PUSH notification has failed and terminates the delivery flow of the multimedia message, and determines that the delivery of the multimedia message failed and carries out Step 27; if the times Step 2201 executed has not exceeded the preset times, the MMSC adopts the reissue strategy and returns to Step 2201.
Up to now, the PUSH notification flow has been completed.
Steps 23˜26: The MMSC interacts with the receiving MSC/MMS terminal to retrieve the message.
Step 27: The MMSC sends to the initiating party a multimedia message delivery status report, indicating whether the receiving party has received the multimedia message successfully.
When the issue of the PUSH notification has been completed, the initiating party and the receiving party retrieve the multimedia message according to the message retrieval flow from Step 23 to Step 27 to accomplish the delivery of the multimedia message.
GSM, GPRS, WCDMA, CDMA95, CDMA2000, and other mobile and fixed networks may all adopt the networking mode illustrated in FIG. 2, i.e., the MMSC adopts the associated interface protocol to carry out communication with the short message systems of various mobile networks or fixed networks directly to accomplish the multimedia message delivery, for instance, in the CDMA network, the MMSC may directly connect with the CDMA short message center (MC) to accomplish the multimedia message delivery.
The two flows mentioned above indicate that the PUSH notification is critical to the whole MMS business, and is an essential requisite to ensure that the receiving party obtains information normally. When the contents of the PUSH notification exceed the maximum length that a short message may hold, the WAPGW or the short message system may divide the PUSH notification into plural short messages to issue. When the PUSH notification is divided by the WAPGW, the forgoing Steps 1203˜1210 will be executed many times to complete delivery of the PUSH notification; And when the PUSH notification is divided by the short message system, the forgoing processes 1205˜1208 or the foregoing processes 2203˜2206 will be executed many times to complete delivery of the PUSH notification;
To be specific, in accordance with the method for processing the PUSH notification in the prior art, because the maximum length of a short message is 140 bytes, while the total length of a PUSH notification exceeds 140 bytes, a PUSH notification may be divided into plural short messages for delivery, and the receiving party should wait for the arrival of all the short messages carrying the same PUSH notification before the receiving party assembles them into a complete PUSH notification.
It leads to complex and legionary links in the PUSH notification flow to adopt plural short messages carrying one PUSH notification. Additionally, if delivery of a short message fails, it is hard to coordinate the reissue mechanisms of the MMSC and WAPGW with existence of WAPGW, and it is unable to determine accurately the short message that should be reissued, therefore, the success rate of PUSH notification is low and the service quality of the multimedia message business is seriously affected.
The division of one PUSH notification into plural short messages leads to legionary intermediate links and high operational cost.